package gui;

import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JTextPane;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import java.awt.Color;

@SuppressWarnings("serial")
public class PanelPreguntas extends JPanel {

	/**
	 * Declara publico los botones accesibles desde el control de eventos
	 * central.
	 */
	public JButton btnRetroceder;
	public JButton btnSi;
	public JButton btnNo;

	private JTextPane txtpnPregunta;
	private PanelImagen panelBotones;
	private JPanel panel;
	private PanelImagen panelGlobo;

	public PanelPreguntas() {

		// Construccion del panel de preguntas. **/
		setOpaque(false);
		setPreferredSize(new Dimension(822, 520));
		setLayout(null);

		// Construccion del sub panel organizativo. **/
		panel = new JPanel();
		panel.setBounds(344, 12, 400, 496);
		panel.setPreferredSize(new Dimension(400, 400));
		panel.setOpaque(false);
		panel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
		add(panel);

		// Construccion de burbuja de preguntas. **/
		panelGlobo = new PanelImagen("img/paneles/burbujaPreguntas.png");
		panelGlobo.setPreferredSize(new Dimension(380, 300));
		panelGlobo.setLayout(null);
		panel.add(panelGlobo);

		// Construccion de la caja de texto para las preguntas
		txtpnPregunta = new JTextPane();
		txtpnPregunta.setBounds(29, 128, 320, 134);
		txtpnPregunta.setBorder(null);
		txtpnPregunta.setFont(new Font("Tahoma", Font.PLAIN, 20));
		txtpnPregunta.setOpaque(false);
		txtpnPregunta.setEditable(false);
		panelGlobo.add(txtpnPregunta);

		// Centrado de texto
		StyledDocument doc = txtpnPregunta.getStyledDocument();
		SimpleAttributeSet center = new SimpleAttributeSet();
		StyleConstants.setAlignment(center, StyleConstants.ALIGN_CENTER);
		doc.setParagraphAttributes(0, doc.getLength(), center, false);

		// Construccion de panel para botones
		panelBotones = new PanelImagen("img/paneles/panelBotonesSiNo.png");
		panelBotones.setPreferredSize(new Dimension(350, 124));
		panel.add(panelBotones);
		panelBotones.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 28));

		// Construccion de botones
		btnSi = new JButton("Si");
		btnSi.setSelectedIcon(new ImageIcon("img/paneles/botonSIPresionado.png"));
		btnSi.setPressedIcon(new ImageIcon("img/paneles/botonSIPresionado.png"));
		btnSi.setPreferredSize(new Dimension(69, 60));
		btnSi.setBorder(null);
		btnSi.setForeground(Color.ORANGE);
		btnSi.setContentAreaFilled(false);
		btnSi.setDefaultCapable(false);
		btnSi.setHorizontalTextPosition(SwingConstants.CENTER);
		btnSi.setOpaque(false);
		btnSi.setIcon(new ImageIcon("img/paneles/botonSI.png"));
		panelBotones.add(btnSi);

		btnNo = new JButton("No");
		btnNo.setSelectedIcon(new ImageIcon("img/paneles/botonSIPresionado.png"));
		btnNo.setPressedIcon(new ImageIcon("img/paneles/botonSIPresionado.png"));
		btnNo.setPreferredSize(new Dimension(69, 60));
		btnNo.setBorder(null);
		btnNo.setForeground(Color.ORANGE);
		btnNo.setContentAreaFilled(false);
		btnNo.setDefaultCapable(false);
		btnNo.setHorizontalTextPosition(SwingConstants.CENTER);
		btnNo.setOpaque(false);
		btnNo.setIcon(new ImageIcon("img/paneles/botonSI.png"));
		panelBotones.add(btnNo);

		btnRetroceder = new JButton("Retroceder");
		btnRetroceder.setVisible(false);
		btnRetroceder.setBounds(12, 100, 117, 25);
		add(btnRetroceder);

	}

	// Carga una pregunta
	public void setPregunta(String pregunta) {
		txtpnPregunta.setText(pregunta);
	}

	// Asignar control de eventos centralizado
	public void setActionListener(ControlCentral e) {
		btnSi.addActionListener(e);
		btnNo.addActionListener(e);
	}
}
